import { logType } from '../interface';
import { saveLog } from '..';
import { createUUID } from '@/utils/createUUID';
import { uploadLogRequestUrl } from '@/log/uploadLog';
/**
 * 创建axios请求日志的功能函数
 * @param logType    日志类型
 * @param logParams  日志参数
 */
export const createAxiosLog = (logType: logType, logParams: any) => {
  const axiosLogObject = {
    axiosId: createUUID(),
    // 请求时间
    requestTime: Date.now(),
    // 请求发出所在页面
    requestPagePath: window.location.pathname,
    // 请求携带的参数
    requestPrams:
      logParams.config?.url === uploadLogRequestUrl
        ? {}
        : JSON.parse(logParams.config?.data || ''),
    // 请求的路径
    requestURL: logParams.config?.url || '/',
    // 请求的方式
    requestMethod: logParams.config?.method,
    // 响应的状态
    responseStatus: logParams.request.status || logParams.status,
    // 响应的错误消息
    responseErrorMessage: logParams.message || '',
    // 响应体数据
    responseDate: logParams.data || {},
  };
  // 存储数据
  saveLog(logType, axiosLogObject);
};
